1. Field of the Invention
The present invention relates in general to computers, and more particularly to a method, system, and computer program product for minimizing read response time in storage subsystem by analysis of workload.
2. Description of the Related Art
Computers, and accompanying data storage, are commonplace in today's society. Individuals, businesses, organizations, and the like have a need for a certain amount of data storage. Historically, data has been stored on local storage devices, such as tape drives, hard disk drives (HDDs), and removable media such as compact discs (CDs) and digital versatile discs (DVDs). As more of society becomes digital, the need for data storage has generally increased. As the need for data storage and data redundancy has proliferated, storage devices have been implemented in various sites. In some cases, the data storage is maintained in multiple storage servers as part of multiple data storage subsystems.
In the 21st century, applications for HDDs have expanded to include digital video recorders, digital audio players, personal digital assistants, digital cameras and video game consoles. The need for large-scale, reliable storage, independent of a particular device, led to the introduction of configurations such as redundant array of independent disks (RAID) arrays, network attached storage (NAS) systems and storage area network (SAN) systems that provide efficient and reliable access to large volumes of data. In each configuration, whether large or small, a read request may be received by one or more storage devices from a requesting source to obtain data (read the data) from the applicable storage resource(s). Similarly, when data is sought to be stored on a storage resource, the storage resource may receive a write request (write the data) from the source.
Various methods to distribute read requests for storage device resources have been employed in the prior art, usually with the goal of improving access time to the resources. The “nearest server” method, for example, sends the read request to the first disk drive that can service the request based on some criteria that estimates how soon a disk will be available. Other methods interleave the requests based on the parity of some logical address associated with the data (See, e.g., U.S. Pat. No. 5,819,310). Some methods attempt to reduce disk access time by taking the physical location of disk arms into account, sending the request to the disk with the least estimated time required to move the disk arm to the requested location (See, e.g., U.S. Pat. Nos. 5,390,313 and 5,463,758).